モバイル開発 iOS ipaファイルとappファイルの違い
ipaファイル、appファイル、info.plist、provisioning profile。こ奴らの関係がよくわからなかったので、少し調べて備忘録を残しておく。
理解の順番としては、appファイル -> info.plist -> ipaファイル -> provisioning profileくらいの順番が良いと思う。
appファイルとは
iOSするアプリケーションそのもの。アプリケーションバンドル?と言われたりする。
実際のデバイスにインストールされてるのは、このappファイルだけ。
appファイルには、実際に動作するバイナリだけでなく、info.plistファイル、アイコンなどアプリの動作に必要な情報も一緒に含まれている。
info.plistとは
1. 実行ファイルを実行するシステム(デバイス)にあらかじめ知らせておくべき情報
2. ビルド時のユーザー定義定数
この中にはどういう情報項目があるのか?
bundle display name:実機でアプリアイコンの下に表示されるアプリ表示名
icon file:アプリアイコン画像ファイル
bundle id:言わずと知れたバンドルID
など
ipaファイル
App Storeや実機テスト時に、実機にアプリケーションバンドル(appファイル)をインストールするためのファイル。
なぜこんな煩わしい事をしてるのかというと...「セキュリティ強度を上げるため」である。ipaファイルはデジタル署名が行われており、開発元が作った正規のアプリから改ざんされてないことが分かるようになってる。
そういうわけでデジタル証明書もipaファイルの中に存在し、それらのセットから今からインストールするアプリが、開発者から改ざんされてない事を証明できるようになってる。
provisioning profile
モバイル開発 Appleの証明書とProvisioning Profile
参考
iOS ProvisionQLによるipaやプロビジョニングプロファイルの内容表示 | DevelopersIO
flash - What is the difference betwen .ipa and .app format in iOS? - Stack Overflow
ipaファイルの中身を調べる - Qiita
iOS XcodeのInfo.plist - Qiita